package item.mod;

import item.Item;

public class Mod extends Item {
	
	private static final long serialVersionUID = 6625513474554959648L;
	
	//The most general modifiers

	private double damageMult; //offensive
	private double defensiveMult; //defensive
	
	//More specific modifiers
	
	//Weapon modifiers
	
	private double laserMult; //laser
	private double armorpenMult; //armor penetrating
	private double missileMult;  //missiles
	private double plasmaMult; //flame
	
	//Defensive modifiers
	
	private double armorMult;  //armor
	private double crewMult; //crew
	private double hullMult; //hull
	private double shieldMult; //shield
	
	//generic mod
	
	public Mod(int cost, int condition, int level, int weight, 
			double damage, double defensive) {

		super(cost, condition, level, weight);
		setDamageMult(damage);
		setDefensiveMult(defensive);
		
		//Everything else normal
		
		setLaserMult(1);
		setArmorpenMult(1);
		setMissileMult(1);
		setPlasmaMult(1);
		setArmorMult(1);
		setCrewMult(1);
		setHullMult(1);
		setShieldMult(1);
	}//end of constructor Mod
	
	//A more specific mod
	
	public Mod(int cost, int condition, int level, int weight, 
			double damage, double defensive,
			double laser, double armorpen, double missile, double flame,
			double armor, double crew, double hull, double shield) {
		
		super(cost, condition, level, weight);
		setDamageMult(damage);
		setDefensiveMult(defensive);
		setLaserMult(laser);
		setArmorpenMult(armorpen);
		setMissileMult(missile);
		setPlasmaMult(flame);
		setArmorMult(armor);
		setCrewMult(crew);
		setHullMult(hull);
		setShieldMult(shield);
	}//end of constructor Mod

	public double getDamageMult() {
		return damageMult;
	}

	public void setDamageMult(double damageMult) {
		this.damageMult = damageMult;
	}

	public double getDefensiveMult() {
		return defensiveMult;
	}

	public void setDefensiveMult(double defensiveMult) {
		this.defensiveMult = defensiveMult;
	}

	public double getLaserMult() {
		return laserMult;
	}

	public void setLaserMult(double laserMult) {
		this.laserMult = laserMult;
	}

	public double getArmorpenMult() {
		return armorpenMult;
	}

	public void setArmorpenMult(double armorpenMult) {
		this.armorpenMult = armorpenMult;
	}

	public double getMissileMult() {
		return missileMult;
	}

	public void setMissileMult(double missileMult) {
		this.missileMult = missileMult;
	}

	public double getPlasmaMult() {
		return plasmaMult;
	}

	public void setPlasmaMult(double plasmaMult) {
		this.plasmaMult = plasmaMult;
	}

	public double getArmorMult() {
		return armorMult;
	}

	public void setArmorMult(double armorMult) {
		this.armorMult = armorMult;
	}

	public double getCrewMult() {
		return crewMult;
	}

	public void setCrewMult(double crewMult) {
		this.crewMult = crewMult;
	}

	public double getHullMult() {
		return hullMult;
	}

	public void setHullMult(double hullMult) {
		this.hullMult = hullMult;
	}

	public double getShieldMult() {
		return shieldMult;
	}

	public void setShieldMult(double shieldMult) {
		this.shieldMult = shieldMult;
	}
	
}//end of class Mod;
